System Requirements:
Windows 10 22H2
Python 3.11.2 (or newer)
Code tested on Python 3.11.2

Required Python Packages:
pip (pre-installed with Python)
pandas
matplotlib
scikit-learn
scipy

Installation:
https://www.python.org/downloads/

To install the required packages, open command prompt and use the following commands:
pip install pandas
pip install matplotlib
pip install scikit-learn
pip install scipy

Keep all Python code in the same folder.

Install time may vary based on internet connection speed.

Instructions and Demo:
1.)Create folders called "input_folder" and "output_folder" in the same path with the Python code.
2.)Set the "invert" variable to 'True' if determining onset of signal reduction or 'False' if determining onset of peak in novelty_peak_onset_wrap.py.
2.)Update the "output_folder", "input_folder", and "udfs" file paths to match your location in novelty_peak_onset_wrap.py.
3.)Place .csv files of events into the "input_folder" (you can process multiple files at once):
	a.)Column 1 = normalized event time
	b.)Following columns = event traces
4.)Run (double-click or via command window) novelty_peak_onset_wrap.py to execute analysis.

Output:
In the output_folder you will have raw data and figures for each event trace and average event traces.
In the output_folder you will have a main_output file that contains signal metrics.
Run time is approximately 7.15 seconds for 1 file but may vary based on number of events, sampling rate, and hardware.